Voice communication systems are well known in the art. Pursuant to many such systems, an information signal--which may comprise a plurality of discrete data elements--is modulated into a carrier signal and transmitted from a first location to a second location. At the second location, the information signal is demodulated and recovered. One of the goals of such communication systems is to place a high number of voice channels within a given radio frequency (RF) channel bandwidth while maintaining acceptable speech quality.
In a digital radio communication system, an input speech waveform is sampled, encoded, and transmitted through a digital radio communication channel. To achieve higher spectrum efficiency, be input speech is preferably coded into the lowest possible bit rate while still maintaining acceptable speech quality. It is generally known that speech quality is determined, at least in part, by the bit error sensitivity of the coded speech bits. When input speech is coded at lower bit rates for higher spectral efficiency, recovered speech quality is highly sensitive to bit errors in some of the encoded bits. Further, bits generated by speech coding (e.g., vector sum excited linear prediction, or VSELP) have the characteristic of non-uniform sensitivity to errors. Expressed another way, some bits in the data stream are more important (i.e., as compared to other bits in the same data stream) to the resultant speech quality, and are therefore considered more sensitive than those other bits.
In a typical voice communication system, the input analog speech is first encoded using a known low bit rate source coding technique (e.g. VSELP). The resultant data elements (typically bits) are then typically channel coded prior to transmission. Channel coding consists of adding additional information content to the data elements produced by the source coder to provide a certain degree of immunity to errors. In order to preserve spectral efficiency, it is desirable to minimize this added overhead as much as possible, while still providing adequate error protection. Channel coding typically involves a partitioning of the input data into two or more groups based on their sensitivity, which characteristic is described above. The most sensitive group of data elements is then typically further processed by encoding it with a so-called block error control code, as later described, for error detection and/or correction when decoding. The resulting information is then typically coded using another well known coding technique (e.g., a convolutional or trellis code) to further protect against errors.
Based on the error detection indication yielded by the block code, further processing, termed error mitigation, may be done on the decoded information to perceptually mask known errors in the most important bits. It is well known that the accuracy of the error detection or correction decision made by the block code is very important to reconstructed voice quality.
Block error control codes used for the error detection and correction are designed to map one set of discrete data elements into another set of discrete data elements, or codewords, which differ from each other in at least D elements. Further, selection of a particular coding scheme results in a trade-off between error detecting and error correcting. That is, depending upon the method of decoding selected at the design phase, a higher error correcting capability may be gained, but only at the expense of reduced error detection, and vice-versa. For example, a block code having D=10 might be used to detect all combinations of 9 or fewer errors, while performing no correction. Similarly, the same coding system might be used to simultaneously correct combinations of 3 or fewer errors, while detecting combinations of 6 or fewer errors.
It is well established that the choice of a block code is dependent upon the bit error rate (BER) of the channel over which it is used. That is, over a very poor quality channel (i.e., where BER is relatively high), it may be desirable to use a block code which has a very good error detection ability at the expense of error correction, since the likelihood of incorrect decoding is high. As an example, using the 3-error correcting code described above, combinations of 7 or more errors out of 10 go undetected. Thus, for a very poor channel, or one in which errors occur in bursts, this code would be a poor choice.
Conversely, for a good channel (i.e., where BER is relatively low), which induces only occasional errors, it would be desirable to use a block code having better error correction, where the likelihood of successful correction is high. As an example, if no more than 2 errors are expected out of every 10 symbols, the 3-error correcting code described above would be desirable.
Unfortunately, the mobile radio channel is characterized by time varying channel quality, depending upon such variables as mobile speed, elevation, and distance from the base transceiver. Accordingly, the BER experienced over such a channel varies greatly with time. In particular, the time-averaged BER generally rises as the distance from the base transceiver increases, though larger, instantaneous BER fluctuations might occur as a function of any of the above-mentioned factors.
Today's radio communication systems employ fixed block codes that perform reasonably well over the range of BER expected over the mobile radio channel. However, with the time varying nature of the mobile radio channel, fixed channel coding schemes result in an undesirable tradeoff between error detection and correction. That is, these fixed codes either sacrifice needed error detection capability under high BER conditions--thereby reducing coverage of the voice communication system--or sacrifice desirable error correction at lower BER conditions--thereby sacrificing quality within the coverage area of the voice communication system--or both. As a result, voice quality is compromised under BER conditions that are outside the expected range--either higher or lower.
Accordingly, there exists the need four a spectrally efficient digital communication system employing a channel decoder which provides both good error detection and correction of error sensitive information under varying BER conditions. Preferably, such a solution would maintain the spectral efficiency afforded by low bit rate source coding, without adding to the channel coding overhead.